package com.lzs.bootsafety.business.sys.mapper;

import com.github.pagehelper.Page;
import com.lzs.bootsafety.business.sys.entity.SysRole;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
public interface SysRoleMapper {
    /**
     * 根据userId查询角色
     * @param userId
     * @return
     */
    List<SysRole> selectRoleByUserId(Long userId);

    /**
     * 查询所有角色
     * @return
     */
    List<SysRole> selectRoleList();

    /**
     * 分页查询角色
     * @param sysRole
     * @return
     */
    Page<SysRole> selectRoleByPage(SysRole sysRole);

    /**
     * 根据userId查询已有角色Ids
     * @param userId
     * @return
     */
    List<Long> selectRolesByUserId(Long userId);

    /**
     * 根据roleId查询角色
     * @param roleId
     * @return
     */
    SysRole selectRoleByRoleId(Long roleId);

    /**
     * 根据roleId批量删除角色
     * @param roleIds
     * @return
     */

    int batchDeleteByPrimaryKey(Long[] roleIds);


    int insert(SysRole record);
    /**
     * 添加角色
     * @param record
     * @return
     */
    int insertSelective(SysRole record);

    SysRole selectByPrimaryKey(Long roleId);

    /**
     * 更新角色
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(SysRole record);

    int updateByPrimaryKey(SysRole record);
}